﻿// JScript 文件

//去除字符串左右空格
String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }  
//去除字符串左空格
String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); } 
//去除字符串右空格 
String.prototype.RTrim = function() { return this.replace(/(\s*$)/g, ""); } 


function $(ctl_id)
{
    return document.getElementById(ctl_id);
}

function $$(ctl_name)
{
    return document.getElementsByName(ctl_name);
}

function $$$(ctl_TagName)
{
    return document.getElementsByTagName(ctl_TagName);
}
/*
用途：检查输入对象的值是否符合整数格式
输入：str 输入的字符串
返回：如果通过验证返回true,否则返回false
*/
function isInteger( str ){ 
    var regu = /^[-]{0,1}[0-9]{1,}$/;
    return regu.test(str);
}

/*
用途：检查输入字符串是否符合正整数格式
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumber( s ){  
    var regu = "^[0-9]+$";
    var re = new RegExp(regu);
    if (s.search(re) != -1) {
        return true;
    } else {
        return false;
    }
}

/*
用途：检查输入字符串是否是带小数的数字格式,可以是负数
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isDecimal( str ){  
    if(isInteger(str)) return true;
    var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
    if (re.test(str)) {
    if(RegExp.$1==0&&RegExp.$2==0) return false;
        return true;
    } else {
        return false;
    }
}


/*
用途：检查输入字符串是否只由英文字母和数字和下划线组成
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumberOr_Letter( s ){//判断是否是数字或字母
    var regu = "^[0-9a-zA-Z\_]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

/*
用途：检查输入字符串是否只由逗号和数字
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumberOr_Comma( s ){//判断是否是数字或逗号
    var regu = "^[0-9,]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

/*
用途：检查输入字符串是否只由英文字母和数字组成
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumberOrLetter( s ){//判断是否是数字或字母
    var regu = "^[0-9a-zA-Z]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}


/*
用途：检查输入字符串是否只由英文字母组成
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isLetter( s ){//判断是否是字母
    var regu = "^[a-zA-Z]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}
/*
用途：检查输入字符串是否只由英文字母,数字和中文组成横线
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumberOrEnglishOrChinese( s ){//判断是否是数字或字母
    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

/*
用途：检查输入字符串是否只由英文字母,数字和中文组成横线，下划线，竖线
输入：
s：字符串
返回：
如果通过验证返回true,否则返回false
*/
function isNumberLetterOrChinese( s ){//判断是否是数字或字母
    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5_-|+=()%/——－、／（）％]+$";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

/*
用途：判断是否是日期
输入：date：日期；fmt：日期格式
返回：如果通过验证返回true,否则返回false
*/

function isDate( date, fmt ) {
    if (fmt==null) fmt="yyyyMMdd";
    var yIndex = fmt.indexOf("yyyy");
    if(yIndex==-1) return false;
    var year = date.substring(yIndex,yIndex+4);
    var mIndex = fmt.indexOf("MM");
    if(mIndex==-1) return false;
    var month = date.substring(mIndex,mIndex+2);
    var dIndex = fmt.indexOf("dd");
    if(dIndex==-1) return false;
    var day = date.substring(dIndex,dIndex+2);
    if(!isNumber(year)||year>"2100" || year< "1900") return false;
    if(!isNumber(month)||month>"12" || month< "01") return false;
    if(day>getMaxDay(year,month) || day< "01") return false;
    return true;
}

function isDate( s ){//判断是否是有效日期yyyy-MM-dd格式
    var regu = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";
    var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

/*
用途：检查输入的起止日期是否正确，规则为两个日期的格式正确，
且结束如期>=起始日期
输入：
startDate：起始日期，字符串
endDate：结束如期，字符串
返回：
如果通过验证返回true,否则返回false
*/
function checkTwoDate( startDate,endDate ) {
    if( !isDate(startDate,"yyyy-MM-dd") ) {
        alert("起始日期不正确!");
    return false;
    } else if( !isDate(endDate,"yyyy-MM-dd") ) {
        alert("终止日期不正确!");
    return false;
    } else if( startDate > endDate ) {
        alert("起始日期不能大于终止日期!");
        return false;
    }
    return true;
}

//鼠标移过，改变字体颜色
function change_Style_Mouse_Move(obj)
{
    obj.style.color = "red";
    obj.style.textDecoration = "underline";
    obj.style.cursor= "pointer";
}
function change_Style_Mouse_Out(obj)
{
    obj.style.color = "black";
    obj.style.textDecoration = "";
    obj.style.cursor= "";
}


//多选框全选或单选
function CheckAll(e,itemName)
{
  var aa = document.getElementsByName(itemName);
  for (var i=0; i<aa.length; i++){
    if(aa[i].disabled)
        continue;
    aa[i].checked = e.checked;
  }
}
function CheckItem(e,allName)
{

  var all = document.getElementsByName(allName)[0];
  if(!e.checked)
  {
        all.checked = false;
  }
  else
  {
    var aa = document.getElementsByName(e.name);
    for (var i=0; i<aa.length; i++)
    {
        if(aa[i].disabled )
            continue;
        if(!aa[i].checked) 
            return;
    }
    all.checked = true;
  }
}

/*
    chkname :checkbox 控件 name
    flag:    1：表示全选
             2：表示反选
*/
function CheckAllByName(chkName,flag)
{
    var arr = document.getElementsByName(chkName);
    flag = (flag==1?true:false);
    for( i=0; i < arr.length;i++)
    {
        if(flag)
            arr[i].checked = true;
        else
            arr[i].checked = (arr[i].checked?false:true);
    }
}


//鼠标移过，改变行颜色
function change_tr_backgroundColor_move(o)
{
    o.style.backgroundColor="lightsteelblue";
}
function change_tr_backgroundColor_out(o)
{
    o.style.backgroundColor="";
}

//是否有效邮箱
function isEmail(email){
    var regu = "^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$";
    var re = new RegExp(regu);
    if (re.test(email)) {
        return true;
    }else{
        return false;
    }
}
